
// <copyright file="ISimpleQueue.cs" company="Subhadra Software Solutions">
//   
// </copyright>
// <summary>
//   The SimpleQueue interface.
// </summary>

namespace SubhadraSolutions.Sharp.Utils.Collections.Generic
{
    using System.Collections.Generic;

    /// <summary>
    /// The SimpleQueue interface.
    /// </summary>
    /// <typeparam name="T">
    /// </typeparam>
    public interface ISimpleQueue<T>
    {
        #region Public Methods and Operators

        /// <summary>
        /// The dequeue.
        /// </summary>
        /// <returns>
        /// The <see cref="IEnumerable"/>.
        /// </returns>
        IEnumerable<T> Dequeue();

        /// <summary>
        /// The enqueue.
        /// </summary>
        /// <param name="obj">
        /// The obj.
        /// </param>
        void Enqueue(T obj);

        /// <summary>
        /// The enqueue.
        /// </summary>
        /// <param name="objects">
        /// The objects.
        /// </param>
        void Enqueue(IEnumerable<T> objects);

        #endregion Public Methods and Operators
    }
}